home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / jabber1a / commondi.bas next >
BASIC Source File  |  1999-03-03  |  21KB  |  672 lines

  1. Attribute VB_Name = "CommDlgs"
  2. Option Explicit
  3.  
  4. '//
  5. '// Structures
  6. '//
  7.  
  8. Private Type OPENFILENAME
  9.     lStructSize As Long
  10.     hwnd As Long
  11.     hInstance As Long
  12.     lpstrFilter As String
  13.     lpstrCustomFilter As String
  14.     nMaxCustFilter As Long
  15.     nFilterIndex As Long
  16.     lpstrFile As String
  17.     nMaxFile As Long
  18.     lpstrFileTitle As String
  19.     nMaxFileTitle As Long
  20.     lpstrInitialDir As String
  21.     lpstrTitle As String
  22.     Flags As Long
  23.     nFileOffset As Integer
  24.     nFileExtension As Integer
  25.     lpstrDefExt As String
  26.     lCustData As Long
  27.     lpfnHook As Long
  28.     lpTemplateName As String
  29. End Type
  30.  
  31. Private Type COLORSTRUC
  32.     lStructSize As Long
  33.     hwnd As Long
  34.     hInstance As Long
  35.     rgbResult As Long
  36.     lpCustColors As String
  37.     Flags As Long
  38.     lCustData As Long
  39.     lpfnHook As Long
  40.     lpTemplateName As String
  41. End Type
  42.  
  43. Private Const LF_FACESIZE = 32
  44.  
  45. Private Type LOGFONT
  46.     lfHeight As Long
  47.     lfWidth As Long
  48.     lfEscapement As Long
  49.     lfOrientation As Long
  50.     lfWeight As Long
  51.     lfItalic As Byte
  52.     lfUnderline As Byte
  53.     lfStrikeOut As Byte
  54.     lfCharSet As Byte
  55.     lfOutPrecision As Byte
  56.     lfClipPrecision As Byte
  57.     lfQuality As Byte
  58.     lfPitchAndFamily As Byte
  59.     lfFaceName(LF_FACESIZE) As Byte
  60. End Type
  61.  
  62. Private Type FONTSTRUC
  63.     lStructSize As Long
  64.     hwnd As Long
  65.     hDC As Long
  66.     lpLogFont As Long
  67.     iPointSize As Long
  68.     Flags As Long
  69.     rgbColors As Long
  70.     lCustData As Long
  71.     lpfnHook As Long
  72.     lpTemplateName As String
  73.     hInstance As Long
  74.     lpszStyle As String
  75.     nFontType As Integer
  76.     MISSING_ALIGNMENT As Integer
  77.     nSizeMin As Long
  78.     nSizeMax As Long
  79. End Type
  80.  
  81. Private Type DEVMODE
  82.     dmDeviceName As String * 32
  83.     dmSpecVersion As Integer
  84.     dmDriverVersion As Integer
  85.     dmSize As Integer
  86.     dmDriverExtra As Integer
  87.     dmFields As Long
  88.     dmOrientation As Integer
  89.     dmPaperSize As Integer
  90.     dmPaperLength As Integer
  91.     dmPaperWidth As Integer
  92.     dmScale As Integer
  93.     dmCopies As Integer
  94.     dmDefaultSource As Integer
  95.     dmPrintQuality As Integer
  96.     dmColor As Integer
  97.     dmDuplex As Integer
  98.     dmYResolution As Integer
  99.     dmTTOption As Integer
  100.     dmCollate As Integer
  101.     dmFormName As String * 32
  102.     dmUnusedPadding As Integer
  103.     dmBitsPerPel As Integer
  104.     dmPelsWidth As Long
  105.     dmPelsHeight As Long
  106.     dmDisplayFlags As Long
  107.     dmDisplayFreq As Long
  108. End Type
  109.  
  110. Private Type PRINTDLGSTRUC
  111.     lStructSize As Long
  112.     hwnd As Long
  113.     hDevMode As Long
  114.     hDevNames As Long
  115.     hDC As Long
  116.     Flags As Long
  117.     nFromPage As Integer
  118.     nToPage As Integer
  119.     nMinPage As Integer
  120.     nMaxPage As Integer
  121.     nCopies As Integer
  122.     hInstance As Long
  123.     lCustData As Long
  124.     lpfnPrintHook As Long
  125.     lpfnSetupHook As Long
  126.     lpPrintTemplateName As String
  127.     lpSetupTemplateName As String
  128.     hPrintTemplate As Long
  129.     hSetupTemplate As Long
  130. End Type
  131.  
  132. Public Type PRINTPROPS
  133.     Cancel As Boolean
  134.     Device As String
  135.     Copies As Integer
  136.     FromPage As Integer
  137.     ToPage As Integer
  138.     ToFile As Boolean
  139.     Range As Integer
  140. End Type
  141.  
  142. Private Type SHITEMID
  143.     cb As Long
  144.     abID As Byte
  145. End Type
  146.  
  147. Private Type ITEMIDLIST
  148.     mkid As SHITEMID
  149. End Type
  150.  
  151. Private Type BROWSEINFO
  152.     hOwner As Long
  153.     pidlRoot As Long
  154.     pszDisplayName As String
  155.     lpszTitle As String
  156.     ulFlags As Long
  157.     lpfn As Long
  158.     lParam As Long
  159.     iImage As Long
  160. End Type
  161.  
  162. '//
  163. '// Win32s
  164. '//
  165.  
  166. Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
  167. Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
  168. Private Declare Function PrintDlg Lib "comdlg32.dll" Alias "PrintDlgA" (pPrintdlg As PRINTDLGSTRUC) As Long
  169. Private Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As COLORSTRUC) As Long
  170. Private Declare Function ChooseFont Lib "comdlg32.dll" Alias "ChooseFontA" (pChoosefont As FONTSTRUC) As Long
  171. Private Declare Function GlobalAlloc Lib "Kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
  172. Private Declare Function GlobalFree Lib "Kernel32" (ByVal hMem As Long) As Long
  173. Private Declare Function GlobalLock Lib "Kernel32" (ByVal hMem As Long) As Long
  174. Private Declare Function GlobalUnlock Lib "Kernel32" (ByVal hMem As Long) As Long
  175. Private Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
  176. Private Declare Function ConnectToPrinterDlg Lib "winspool.drv" (ByVal hwnd As Long, ByVal Flags As Long) As Long
  177. Private Declare Function SHGetPathFromIDList Lib "SHELL32.DLL" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
  178. Private Declare Function SHGetSpecialFolderLocation Lib "SHELL32.DLL" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
  179. Private Declare Function SHBrowseForFolder Lib "SHELL32.DLL" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long 'ITEMIDLIST
  180. Private Declare Function WriteProfileString Lib "Kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
  181. Private Declare Function GetProfileString Lib "Kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
  182. Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
  183. Declare Function WinHelp Lib "user32" Alias "WinHelpA" (ByVal hwnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData As Long) As Long
  184.  
  185.  
  186. '//
  187. '// Constants (Public for Print Properties Structure)
  188. '//
  189.  
  190. Public Const ppRangeAll = 0
  191. Public Const ppRangePages = 1
  192. Public Const ppRangeSelection = 2
  193.  
  194. '//
  195. '// Constants (Public for Print Dialog Box)
  196. '//
  197.  
  198. Public Const PD_NOSELECTION = &H4
  199. Public Const PD_DISABLEPRINTTOFILE = &H80000
  200. Public Const PD_PRINTTOFILE = &H20
  201. Public Const PD_RETURNDC = &H100
  202. Public Const PD_RETURNDEFAULT = &H400
  203. Public Const PD_RETURNIC = &H200
  204. Public Const PD_SELECTION = &H1
  205. Public Const PD_SHOWHELP = &H800
  206. Public Const PD_NOPAGENUMS = &H8
  207. Public Const PD_PAGENUMS = &H2
  208.  
  209. '//
  210. '// Constants (Public for WinHelp)
  211. '//
  212.  
  213. Public Const HELP_COMMAND = &H102&
  214. Public Const HELP_CONTENTS = &H3&
  215. Public Const HELP_CONTEXT = &H1
  216. Public Const HELP_CONTEXTPOPUP = &H8&
  217. Public Const HELP_FORCEFILE = &H9&
  218. Public Const HELP_HELPONHELP = &H4
  219. Public Const HELP_INDEX = &H3
  220. Public Const HELP_KEY = &H101
  221. Public Const HELP_MULTIKEY = &H201&
  222. Public Const HELP_PARTIALKEY = &H105&
  223. Public Const HELP_QUIT = &H2
  224. Public Const HELP_SETCONTENTS = &H5&
  225. Public Const HELP_SETINDEX = &H5
  226. Public Const HELP_SETWINPOS = &H203&
  227.  
  228.  
  229. '//
  230. '// Constants (Private)
  231. '//
  232.  
  233. Private Const FW_BOLD = 700
  234. Private Const GMEM_MOVEABLE = &H2
  235. Private Const GMEM_ZEROINIT = &H40
  236. Private Const GHND = (GMEM_MOVEABLE Or GMEM_ZEROINIT)
  237. Private Const OFN_ALLOWMULTISELECT = &H200
  238. Private Const OFN_CREATEPROMPT = &H2000
  239. Private Const OFN_ENABLEHOOK = &H20
  240. Private Const OFN_ENABLETEMPLATE = &H40
  241. Private Const OFN_ENABLETEMPLATEHANDLE = &H80
  242. Private Const OFN_EXPLORER = &H80000
  243. Private Const OFN_EXTENSIONDIFFERENT = &H400
  244. Private Const OFN_FILEMUSTEXIST = &H1000
  245. Private Const OFN_HIDEREADONLY = &H4
  246. Private Const OFN_LONGNAMES = &H200000
  247. Private Const OFN_NOCHANGEDIR = &H8
  248. Private Const OFN_NODEREFERENCELINKS = &H100000
  249. Private Const OFN_NOLONGNAMES = &H40000
  250. Private Const OFN_NONETWORKBUTTON = &H20000
  251. Private Const OFN_NOREADONLYRETURN = &H8000
  252. Private Const OFN_NOTESTFILECREATE = &H10000
  253. Private Const OFN_NOVALIDATE = &H100
  254. Private Const OFN_OVERWRITEPROMPT = &H2
  255. Private Const OFN_PATHMUSTEXIST = &H800
  256. Private Const OFN_READONLY = &H1
  257. Private Const OFN_SHAREAWARE = &H4000
  258. Private Const OFN_SHAREFALLTHROUGH = 2
  259. Private Const OFN_SHARENOWARN = 1
  260. P